const fs = require("fs");
var path = require("path");
var ts = require("typescript");

function getAllPath() {
  // D:\ThePiqueLab\archus-crm-ui\src\components\finance\Modules\ReceiptDetail\ReceiptButtons.tsx
  const projectPath = "D:\\ThePiqueLab\\archus-crm-ui";

  // 读取文件内容
  const data = fs.readFileSync("references.txt", "utf8");

  // 使用正则表达式匹配所有以`src/`开头的文件路径
  const regex = /^src\/.*$/gm;
  let matches;
  const fullPaths = [];

  while ((matches = regex.exec(data)) !== null) {
    // 这是必须的，以避免死循环
    if (matches.index === regex.lastIndex) {
      regex.lastIndex++;
    }

    // matches[0] 包含了匹配到的完整文本，即文件路径
    if (matches[0]) {
      // 使用path.join来确保路径在不同操作系统上的正确性
      // path.normalize将会处理任何跨平台的路径问题
      const fullPath = path.normalize(path.join(projectPath, matches[0]));
      fullPaths.push(fullPath);
    }
  }

  // 去重并输出所有的文件路径
  const uniquePaths = [...new Set(fullPaths)];
  console.log(uniquePaths.join("\n"));
  return uniquePaths;
}

